工控网首页
>

应用设计

>

用Excel实现BP神经网络及其在数字识别中的应用

用Excel实现BP神经网络及其在数字识别中的应用

2006/5/17 9:40:00
关键词:BP神经网络;Excel;数字识别 中图分类号:TP319 文献标识码:A Implementation for BP Neural network with Excel and Application to Digit Recognition HU Gui-ming, ZHAO Hui-min, XU Wei-chao (College of Electrical Engineering, Guangxi University, Nanning 530004, China) Abstract: In this paper, A BP neural network is introduced which is realized in worksheets and Visual Basic Editor of Macro under the circumstance of Microsoft Excel and then use it to recognize the print digit. It is straight and convenient that interface of Excel is used to put in or get out the data and this method has many virtues sound code cant compare with. This procedure can also be used to recognize English letter. Key words: BP neural network; Excel; digit recognition 1 引言 人工神经网络(ANN)是当今智能控制领域最活跃的分支之一,它所具有的并行计算能力、容错能力、泛化能力,以及以任意精度逼近未知非线性对象的特点,为解决未知非线性对象的控制问题,提供了一种有效的方法。人们先后提出了几十种 ANN模型,其中基于BP(Back Propagation)算法的前馈神经网络,是ANN中比较成熟的一种,并得到了广泛的应用。本文在回顾BP算法的基础上,以数字识别为实例用Excel的工作表和宏中Visual Basic编辑器的实现该算法。 2 BP网络的模型和学习算法 BP算法的基本思想是,学习过程由信号的正向传播和误差的反向传播两个过程组成。在正向传播过程中,输入信息从输入层经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。 本文采用图1所示的单隐层网络。单隐层网络的应用最为普遍。习惯将单隐层前馈网称为三层前馈网或三层感知器,三层包括了输入层、隐层和输出层。
以上各式共同构成了BP网络的数学模型。 BP算法的推导在这不再赘述,以下是单隐层 BP网络各层权值调整计算公式:
3 BP神经网络的程序实现 2.1 样本的准备 本算法以数字识别为实例,训练样本和测试样本采用不同的印刷体数字。在样本的准备中,要将实际问题投向转化为神经网络可以接受的数据输入,经神经网络计算后,再把网络的输出转化为实际问题的解,这涉及到特征的提取。在本文中将数字的横向和纵向分成32份,得到一个32×32的网格。在数字的笔划覆盖单元格一半面积以上的单元格赋值1,否则赋值0,从而得到一个32×32的矩阵(如图2所示)。作为神经网络的输人数据,要将这个矩阵转化为一个1024×1的数组,特征提取这部分的过程可以在宏功能中编程实现。则每套印刷体样本(包括0,1,…,9十个数字)的特性可用一个1024×10的数组表示。这个网格在Excel的工作表中制作,1024×10的数组也存储在工作表中。
输出数值的范围为阿拉伯数字0到9,其节点个数的选择可有多种方案。这里作者采用二进制数表示这十个数字,也就是说输出层节点个数最少可以为4个。 隐节点的确定采用试凑法,在样本训练前设置隐节点的个数,先设置较少的隐节点训练网络,然后再逐渐增加隐节点个数,用同样的样本进行训练,从中确定网络误差最小时对应的隐节点个数。 2.2 BP神经网络的训练 样本储存在Excel的工作表中,BP算法用宏中的Visual Basic编辑器实现,这样数据的读取和输出非常方便。图3是标准BP算法的程序流程图。 (1)初始化。对权值矩阵W、Y赋随机数,将样本模式计数器p和训练次数计数器q置为1,误差 E置0,信息效率设为0~1间的小数,网络训练后
2.3 BP神经网络的测试 用一些新的样本作为测试样本,对已训练好的网络进行测试,测试结果的界面如图4所示。测试结果计算出了每个样本组的识别率以及平均识别率,并显示了该网络的总均方误差。我们可以在测试结果中通过比较平均识别率来确定网络的最佳总均方误差。 3 结束语 本文简单的介绍了反向传播BP算法的基本概念,在Excel的工作表中实现样本的采样以及样本的存储以及结果的输出,算法的编程采用宏中的 Visual Basic编辑器。Excel的工作表非常庞大,可以储存大量的样本,并且可以根据需要修改样本库。Visual Basic编辑器中的语言能够存取Excel的所有命令和对象,且兼容了Basic编程语言的命令和语法,可以控制Excel的所有功能。利用Excel的界面输入输出数据,即直观又方便,有着源程序不可比拟的优点。该程序也可用于英语字母的识别。 参考文献 [1] 韩力群.人工神经网络理论、设计及应用[M].化学工业出版社。2002.1 [2] 布宁.Excel Visual Basic for Application用户使用指南[M].顾铁成,等译.北京:科学出版社,1996.10. [3] 贺兴时,刘宇.BP神经网络算法在数字识别中的应用[J].西北纺织工学院学报,2000,14(4),356~362. [4] 雷建和.反向传播(BP)算法极其在VB5中的实现[J].青岛建筑工程学院学报,1999,20(4),79~84.
投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机